﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TodoApp.ResultModel;
using TodoApp.TMS_SetUp.Departments;
using TodoApp.TMS_SetUp.Positions;
using TodoApp.TMS_SetUp.Roles;

namespace TodoApp.TMS_personnelmatters.Employeess
{
    public interface ITMS_EmployeesRepository
    {
        /// <summary>
        /// 分页显示
        /// </summary>
        /// <param name="name"></param>
        /// <param name="department"></param>
        /// <param name="position"></param>
        /// <param name="phone"></param>
        /// <param name="category"></param>
        /// <param name="pageindex"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        Task<PageResponse<TMS_EmployeesDto>> GetEmployees(string name, string department, string position, string phone, string category, int pageindex, int pagesize);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> DeleteEmployees(string id);
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="tMS_Employees"></param>
        /// <returns></returns>
        Task<int> UpdateEmployees(TMS_EmployeesDto tMS_Employees);
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="tMS_Employees"></param>
        /// <returns></returns>
        Task<int> CreateEmployees(TMS_Employees tMS_Employees);
        /// <summary>
        /// 学历
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Dictionary>> GetEducationBackground();
        /// <summary>
        /// 婚姻状态
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Dictionary>> GetMarriage();
        /// <summary>
        /// 员工类别
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Dictionary>> GetCategory();
        /// <summary>
        /// 角色
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Role>> GetRole();
        /// <summary>
        /// 部门
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Department>> GetDepartment();
        /// <summary>
        /// 职位
        /// </summary>
        /// <returns></returns>
        Task<List<TMS_Position>> GetPosition();
    }
}
